// setTimeout(function () {
//   var a = 'hello';
//   setTimeout(function () {
//     var b = ' lagou '
//     setTimeout(function () {
//       var c = 'I LOVE U'
//       console.log(a + b + c)
//     }, 10)
//   }, 10)
// }, 10)

function callback(arg, delay=10) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(arg);
    }, delay);
  });
}

new Promise((resolve, reject) => {
  //第一个计时器
  setTimeout(() => {
    var a = 'hello';
    resolve(a);
  }, 10);
})
  .then(value => {
    //第二个计时器
    var b = ' lagou ';
    return callback(value + b);
  })
  .then(value => {
    //第三个计时器
    var c = 'I O U'
    return callback(value + c);
  })
  .then(value => console.log('---输出值--', value));